import { controller, get, post, put, del, required } from '../decorator/router'

@controller('/mock')
export class SellerController {

  // 使用query方式传参
  @get('/getseller')
  @required({ query: ['id'] })
  async getSeller(ctx, next) {

    console.log('进入/seller')

    const { id } = ctx.query

    console.log(`query.id:${id}`)

    const appData = require('../../static/test/data.json')
    const sellers = appData.seller
    
    let seller = {}
    sellers.forEach((item)=>{

      // 注意：不能用===：左右必须类型相同，且值相同，才返回true
      // 用==：如果一个是字符串，一个是数值，把字符串转换成数值之后再进行比较
      if(item.id == id) {
        console.log(`find seller.id=${item.id}`)
        seller = item
        return false
      }
    })

    ctx.body = {
      code: 0,
      data: seller,
      msg: 'success'
    }
  }

  // // 使用RestAPI方式传参
  // @get('/getseller/:id')
  // async getSeller(ctx, next) {

  //   console.log('进入/seller')

  //   const { params } = ctx
  //   const { id } = params

  //   console.log(`query.id:${id}`)

  //   const appData = require('../../static/test/data.json')
  //   const sellers = appData.seller
    
  //   let seller = {}
  //   sellers.forEach((item)=>{

  //     // 注意：不能用===：左右必须类型相同，且值相同，才返回true
  //     // 用==：如果一个是字符串，一个是数值，把字符串转换成数值之后再进行比较
  //     if(item.id == id) {
  //       console.log(`find seller.id=${item.id}`)
  //       seller = item
  //       return false
  //     }
  //   })

  //   ctx.body = {
  //     code: 0,
  //     data: seller,
  //     msg: 'success'
  //   }
  // }

  @get('/getproductions')
  @required({query: ['id']})
  async getProduction(ctx, next) {

    const {id} = ctx.query

    const appData = require('../../static/test/data.json')
    const productions = appData.productions
    
    ctx.body = {
      code: 0,
      data: productions,
      msg: 'success'
    }
  }

  @get('/getratings')
  @required({query: ['id']})
  async getRatings(ctx, next) {

    const {id} = ctx.query

    const appData = require('../../static/test/data.json')
    const ratings = appData.ratings
    
    ctx.body = {
      code: 0,
      data: ratings,
      msg: 'success'
    }
  }

}